Hashing procedures may be used to ensure data integrity by detecting changes in a transmitted message caused by, for example, transmission error or tampering. Circuits for implementing hashing procedures, however, are typically large and complicated, requiring a significant amount of space. Consequently, implementing hashing procedures has posed problems in some situations.